﻿namespace Leo.Common.RabbitMQ
{
    
    public abstract class RabbitObjectBase
    { 
        public string Name { get; set; }

        public bool AutoDelete { get; set; }

        public bool Durable { get; set; }

        public IDictionary<string, object> Properties { get; } = new Dictionary<string, object>();

        internal abstract bool Declare(RabbitConnection connection);

        internal bool redeclared;

        public RabbitObjectBase(string name)
        {
            this.Name = name;
        }

       
    }
}
